package yl.hs.bmipfull.pojo.system;

import org.springframework.lang.Nullable;
import yl.hs.bmipfull.annotations.DBField;
import yl.hs.bmipfull.annotations.DBTable;
import yl.hs.bmipfull.pojo.BaseEntity;
import yl.hs.bmipfull.pojo.IParent;

/**
 * 作用:  菜单信息 实体类 <br/>
 * 创建时间: 2021-05-09 17:13 <br/>
 *
 * @author 张凯
 */
@DBTable(disName = "菜单信息", mapCode = "menu_info")
public class MenuInfoEntity extends BaseEntity implements IParent {

    /**
     * 主键
     */
    @Nullable
    private Long id;

    /**
     * 编号
     */
    @DBField(disName = "菜单编号", mapCode = "sn", isSerialNumber = true, isRequire = true, snPrefix = "MENU")
    private String sn;
    /**
     * 菜单名称
     */
    @DBField(disName = "菜单名称", mapCode = "fullName")
    private String fullName;

    /**
     * 菜单名称拼音
     */
    private String fullNamePY;
    /**
     * 组件名称
     */
    @DBField(disName = "组件名称", mapCode = "component")
    private String component;
    /**
     * 菜单图标
     */
    @DBField(disName = "菜单图标", mapCode = "menuIcon")
    private String menuIcon;
    /**
     * 菜单背景色
     */
    @DBField(disName = "菜单背景色", mapCode = "menubgColor")
    private String menubgColor;
    /**
     * 菜单文字颜色
     */
    @DBField(disName = "菜单文字颜色", mapCode = "menufrColor")
    private String menufrColor;
    /**
     * 指向目标
     */
    @DBField(disName = "指向目标(默认页面)", mapCode = "target")
    private String target;
    /**
     * 页面地址
     */
    @DBField(disName = "页面地址", mapCode = "pageAddress")
    private String pageAddress;
    /**
     * 数据地址
     */
    @DBField(disName = "数据地址", mapCode = "dataAddress")
    private String dataAddress;

    @DBField(disName = "打印地址", mapCode = "printAddress")
    private String printAddress;
    /**
     * 菜单层级
     */
    @DBField(disName = "菜单层级", mapCode = "layer")
    private int layer;
    /**
     * 父级编号
     */
    @DBField(disName = "父级编号", mapCode = "parentSN")
    private String parentSN;
    /**
     * 夫级代码
     */
    private String parentCode;
    /**
     * 是否展开
     */
    @DBField(disName = "是否展开", mapCode = "expand")
    private boolean expand;
    /**
     * 是否缓存
     */
    @DBField(disName = "是否缓存", mapCode = "keepAlive")
    private boolean keepAlive;
    /**
     * app对应页面功能
     */
    private String appPageFun;
    /**
     * 适用版本
     */
    @DBField(disName = "适用版本", mapCode = "versions")
    private String versions;
    /**
     * 备注
     */
    @DBField(disName = "备注", mapCode = "remark")
    private String remark;
    /**
     * 排序字段
     */
    @DBField(disName = "排序字段", mapCode = "sortCode")
    private String sortCode;
    /**
     * 菜单状态
     * -1:已删除
     * 0:未启用
     * 1:启用
     */
    @DBField(disName = "菜单状态", mapCode = "state")
    private Short state;
    /**
     * 适用平台
     */
    @DBField(disName = "适用平台", mapCode = "platform")
    private String platform;
    /**
     * 页面刷新时间
     */
    @DBField(disName = "页面刷新时间", mapCode = "refreshtime")
    private int refreshtime;
    /**
     * 功能主要数据代码
     */
    @DBField(disName = "主要数据代码", mapCode = "mainDataCode")
    private String mainDataCode;

    public String getComponent() {
        return component;
    }

    public void setComponent(String component) {
        this.component = component;
    }

    public boolean isKeepAlive() {
        return keepAlive;
    }

    public void setKeepAlive(boolean keepAlive) {
        this.keepAlive = keepAlive;
    }

    public String getMainDataCode() {
        return mainDataCode;
    }

    public void setMainDataCode(String mainDataCode) {
        this.mainDataCode = mainDataCode;
    }

    @Override
    public int getLayer() {
        return layer;
    }

    @Override
    public void setLayer(int layer) {
        this.layer = layer;
    }

    @Override
    public String getParentSN() {
        return parentSN;
    }

    @Override
    public void setParentSN(String parentSN) {
        this.parentSN = parentSN;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    @Override
    public String getSn() {
        return sn;
    }

    @Override
    public void setSn(String sn) {
        this.sn = sn;
    }

    public String getFullName() {
        return fullName;
    }

    public void setFullName(String fullName) {
        this.fullName = fullName;
    }

    public String getFullNamePY() {
        return fullNamePY;
    }

    public void setFullNamePY(String fullNamePY) {
        this.fullNamePY = fullNamePY;
    }

    public String getMenuIcon() {
        return menuIcon;
    }

    public void setMenuIcon(String menuIcon) {
        this.menuIcon = menuIcon;
    }

    public String getMenubgColor() {
        return menubgColor;
    }

    public void setMenubgColor(String menubgColor) {
        this.menubgColor = menubgColor;
    }

    public String getMenufrColor() {
        return menufrColor;
    }

    public void setMenufrColor(String menufrColor) {
        this.menufrColor = menufrColor;
    }

    public String getTarget() {
        return target;
    }

    public void setTarget(String target) {
        this.target = target;
    }

    public String getPageAddress() {
        return pageAddress;
    }

    public void setPageAddress(String pageAddress) {
        this.pageAddress = pageAddress;
    }

    public String getDataAddress() {
        return dataAddress;
    }

    public void setDataAddress(String dataAddress) {
        this.dataAddress = dataAddress;
    }

    public String getPrintAddress() {
        return printAddress;
    }

    public void setPrintAddress(String printAddress) {
        this.printAddress = printAddress;
    }

    @Override
    public String getParentCode() {
        return parentCode;
    }

    @Override
    public void setParentCode(String parentCode) {
        this.parentCode = parentCode;
    }

    public boolean isExpand() {
        return expand;
    }

    public void setExpand(boolean expand) {
        this.expand = expand;
    }

    public String getVersions() {
        return versions;
    }

    public void setVersions(String versions) {
        this.versions = versions;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getSortCode() {
        return sortCode;
    }

    public void setSortCode(String sortCode) {
        this.sortCode = sortCode;
    }

    public Short getState() {
        return state;
    }

    public void setState(Short state) {
        this.state = state;
    }

    public String getPlatform() {
        return platform;
    }

    public void setPlatform(String platform) {
        this.platform = platform;
    }

    public String getPojoName() {
        return pojoName;
    }

    public void setPojoName(String pojoName) {
        this.pojoName = pojoName;
    }

    public int getRefreshtime() {
        return refreshtime;
    }

    public void setRefreshtime(int refreshtime) {
        this.refreshtime = refreshtime;
    }

    private String pojoName;

    public String getAppPageFun() {
        return appPageFun;
    }

    public void setAppPageFun(String appPageFun) {
        this.appPageFun = appPageFun;
    }
}
